package com.sojson.entity.po;

import java.io.IOException;
import java.util.Date;
import java.util.List;

import com.sojson.base.impl.BaseDto;
import com.sojson.enums.core.EGeneralStatus;
import com.sojson.util.DateUtil;
import com.sojson.util.id.GUIDUtil;
import com.sojson.util.token.TokenUtil;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 酒店信息Bean
 * 
 * @author liu
 * @date 2021-07-02
 */
@ApiModel("酒店信息Bean")
public class Hotel extends BaseDto {

    /**
     * 此文件由工具自动生成，手动添加内容请放至末尾
     */

    private static final long serialVersionUID = 1625212458404L;

    @ApiModelProperty("酒店编号")
    private String no;
    @ApiModelProperty("用户编号")
    private String userNo;
    @ApiModelProperty("酒店名称")
    private String name;
    @ApiModelProperty("图片")
    private String img;
    @ApiModelProperty("图片列表")
    private String imgs;
    @ApiModelProperty("酒店星级")
    private Integer starLevelHotel;
    @ApiModelProperty("省")
    private String province;
    @ApiModelProperty("市")
    private String city;
    @ApiModelProperty("区")
    private String area;
    @ApiModelProperty("详细地址")
    private String address;
    @ApiModelProperty("经度")
    private Float targetX;
    @ApiModelProperty("维度")
    private Float targetY;
    @ApiModelProperty("状态(1:启用,2:禁用)")
    private Integer status;
    @ApiModelProperty("创建时间")
    private Date createdAt;
    @ApiModelProperty("更新时间")
    private Date updatedAt;
    @ApiModelProperty("id集合")
    private List<Integer> ids;
    @ApiModelProperty("酒店编号集合")
    private List<String> nos;
    /** 酒店信息集合 */
    private List<Hotel> hotels;

    /**
     * 以上由工具自动生成，以下为手动添加
     */

       /**
        * Empty constructor
        */
    public Hotel() {

    }

    /**
     * 此文件由工具自动生成，手动添加内容请放至末尾
     */

    /**
     * 获取 酒店编号
     */
    @Override
    public String getNo() {
        return no;
    }

    /**
     * 设置 酒店编号
     */
    @Override
    public void setNo(String no) {
        this.no = no;
    }

    /**
     * 获取 用户编号
     */
    public String getUserNo() {
        return userNo;
    }

    /**
     * 设置 用户编号
     */
    public void setUserNo(String userNo) {
        this.userNo = userNo;
    }

    /**
     * 获取 酒店名称
     */
    public String getName() {
        return name;
    }

    /**
     * 设置 酒店名称
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取 图片
     */
    public String getImg() {
        return img;
    }

    /**
     * 设置 图片
     */
    public void setImg(String img) {
        this.img = img;
    }

    /**
     * 获取 图片列表
     */
    public String getImgs() {
        return imgs;
    }

    /**
     * 设置 图片列表
     */
    public void setImgs(String imgs) {
        this.imgs = imgs;
    }

    /**
     * 获取 酒店星级
     */
    public Integer getStarLevelHotel() {
        return starLevelHotel;
    }

    /**
     * 设置 酒店星级
     */
    public void setStarLevelHotel(Integer starLevelHotel) {
        this.starLevelHotel = starLevelHotel;
    }

    /**
     * 获取 省
     */
    public String getProvince() {
        return province;
    }

    /**
     * 设置 省
     */
    public void setProvince(String province) {
        this.province = province;
    }

    /**
     * 获取 市
     */
    public String getCity() {
        return city;
    }

    /**
     * 设置 市
     */
    public void setCity(String city) {
        this.city = city;
    }

    /**
     * 获取 区
     */
    public String getArea() {
        return area;
    }

    /**
     * 设置 区
     */
    public void setArea(String area) {
        this.area = area;
    }

    /**
     * 获取 详细地址
     */
    public String getAddress() {
        return address;
    }

    /**
     * 设置 详细地址
     */
    public void setAddress(String address) {
        this.address = address;
    }

    /**
     * 获取 经度
     */
    public Float getTargetX() {
        return targetX;
    }

    /**
     * 设置 经度
     */
    public void setTargetX(Float targetX) {
        this.targetX = targetX;
    }

    /**
     * 获取 维度
     */
    public Float getTargetY() {
        return targetY;
    }

    /**
     * 设置 维度
     */
    public void setTargetY(Float targetY) {
        this.targetY = targetY;
    }

    /**
     * 获取 状态(1:启用,2:禁用)
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * 设置 状态(1:启用,2:禁用)
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * 获取 创建时间
     */
    public Date getCreatedAt() {
        return createdAt;
    }

    /**
     * 设置 创建时间
     */
    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    /**
     * 获取 更新时间
     */
    public Date getUpdatedAt() {
        return updatedAt;
    }

    /**
     * 设置 更新时间
     */
    public void setUpdatedAt(Date updatedAt) {
        this.updatedAt = updatedAt;
    }

    /**
     * 获取 id集合
     */
    public List<Integer> getIds() {
        return ids;
    }

    /**
     * 设置 id集合
     */
    public void setIds(List<Integer> ids) {
        this.ids = ids;
    }

    /**
     * 获取 酒店编号集合
     */
    public List<String> getNos() {
        return nos;
    }

    /**
     * 设置 酒店编号集合
     */
    public void setNos(List<String> nos) {
        this.nos = nos;
    }

    /**
     * 获取 酒店信息集合
     */
    public List<Hotel> getHotels() {
        return hotels;
    }

    /**
     * 设置 酒店信息集合
     */
    public void setHotels(List<Hotel> hotels) {
        this.hotels = hotels;
    }

    /**
     * 以上由工具自动生成，以下为手动添加
     */

    /**
     * 插入初始化
     * @throws IOException 
     */
    public void insertInit() throws IOException {
        setNo(GUIDUtil.generateGuid());
        setUserNo(TokenUtil.getUserNo());
        setStatus(EGeneralStatus.NORMAL.getCode());
        Date now = DateUtil.nowDate();
        setCreatedAt(now);
        setUpdatedAt(now);
    }

    /**
     * 更新初始化
     */
    public void updateInit() {
        Date now = DateUtil.nowDate();
        setUpdatedAt(now);
    }

    /**
     * 更新初始化
     */
    public void setUpdateNull() {
        setStatus(null);
    }

}